exactOptionalPropertyTypesIdentical.ts(2,12): error TS2322: Type '<T>() => T extends { a?: string; } ? 0 : 1' is not assignable to type '<T>() => T extends { a?: string | undefined; } ? 0 : 1'.
  Type 'T extends { a?: string; } ? 0 : 1' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.
    Type '0 | 1' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.
      Type '0' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.


==== exactOptionalPropertyTypesIdentical.ts (1 errors) ====
    export let a: <T>() => T extends {a?: string} ? 0 : 1 = null!;
    export let b: <T>() => T extends {a?: string | undefined} ? 0 : 1 = a;
               ~
!!! error TS2322: Type '<T>() => T extends { a?: string; } ? 0 : 1' is not assignable to type '<T>() => T extends { a?: string | undefined; } ? 0 : 1'.
!!! error TS2322:   Type 'T extends { a?: string; } ? 0 : 1' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.
!!! error TS2322:     Type '0 | 1' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.
!!! error TS2322:       Type '0' is not assignable to type 'T extends { a?: string | undefined; } ? 0 : 1'.
    